16.2 Virtual Address Space

User Mode Operations


In User mode, a single, uniform virtual address space--labelled User segment--is available; its size is:

Figure 16-1 shows User mode virtual address space.



Figure 16-1 User Mode Virtual Address Space

The User segment starts at address 0 and the current active user process resides in either useg (in 32-bit mode) or xuseg (in 64-bit mode). The TLB identically maps all references to useg/xuseg from all modes, and controls cache accessibility.

32-bit User Mode (useg)

In User mode, when UX = 0 in the Status register, User mode addressing is compatible with the 32-bit addressing model shown in Figure 16-1, and a 2-Gbyte user address space is available, labelled useg.

All valid User mode virtual addresses have their most-significant bit cleared to 0; any attempt to reference an address with the most-significant bit set while in User mode causes an Address Error exception.

The system maps all references to useg through the TLB, and bit settings within the TLB entry for the page determine the cacheability of a reference.

64-bit User Mode (xuseg)

In User mode, when UX =1 in the Status register, User mode addressing is extended to the 64-bit model shown in Figure 16-1. In 64-bit User mode, the processor provides a single, uniform virtual address space of 244 bytes, labelled xuseg.

All valid User mode virtual addresses have bits 63:44 equal to 0; an attempt to reference an address with bits 63:44 not equal to 0 causes an Address Error exception.

Although the system may be in 32-bit mode, address logic still generates 64-bit values. In this case the high 32 bits must equal the sign bit (31), or an Address Error exception is taken.




Copyright 1995, MIPS Technologies, Inc. -- 29 JAN 96


Generated with CERN WebMaker